On a conventional personal computer, a number of different data ports are typically provided to enable data transfer and communication between the computer and external peripheral devices, such as a printer, a scanner, a backup tape drive, a keyboard, a pointing device (e.g., a mouse or trackball), a modem, etc. The typical personal computer includes a keyboard port (DIN or PS/2 style), two serial (RS-232) ports, a parallel port, a game port (for connecting a joystick), and perhaps a PS/2 port for connecting a mouse or other pointing device, although one of the serial ports may instead be used for this purpose. Due to the number of different types of external devices that are available to connect to a computer, it is not uncommon for a user to find that the required ports are already in use. Even with plug and play options, the user may find that the interrupts, addresses, or other parameters required by a new peripheral device are already in use so that it cannot readily be connected to the computer.
To address these problems, and more importantly, to improve the data transfer speed between peripheral devices and the computer data bus, the USB has been developed and will soon be available on new computers. The USB is a new type of port and data communication protocol that will permit a plurality of newly designed peripheral devices to be connected to the computer in a daisy chain configuration. For example, a new keyboard designed to take advantage of this technology will have a cord with a four-pin USB plug that is adapted to mate with the USB receptacle or port on a new personal computer. A cord connected to a new USB-ready mouse or other pointing device will include a USB plug adapted to mate with a corresponding USB receptacle on the back of the keyboard, thereby daisy-chaining the mouse to the keyboard to the computer. The USB specification provides for packets of data transmitted from such a keyboard or from such a pointing device to be received and routed to the appropriate driver in the computer. Additional USB-ready peripherals can also be connected in a daisy chain arrangement, and USB hubs will be available to expand the number of peripherals that are connected to the USB port on the computer.
As is always the case when any new technology becomes available that improves on what was previously available, the USB port will not be available on all new computers that are sold, and for some time, computers having the new technology will be in the minority compared to those that do not have a USB port. If a user purchases a USB-ready peripheral device for use with a new computer having a USB port, the device will not be usable on an older computer that only includes the conventional serial, parallel, or other port previously used for connecting such a device to the computer.
This problem is particularly evident in regard to joysticks and other game control devices that normally are connected to the game port. The game port (or IBM.TM. Game Control Adapter) was developed during the early 1980s to connect joysticks to the personal computer and is still commonly used for this purpose. Literally millions of legacy computers exist that include a game port for this purpose. Clearly, a manufacturer of joysticks might understandably be somewhat reluctant to produce a joystick that only will connect to the USB port, because the market for such joysticks will initially be too small to justify the expense. Clearly, it would be desirable to produce a joystick or other peripheral device that can optionally be used with either the new USB port or alternatively, with the conventional port of the type currently used to couple that device to an older (legacy) personal computer.
Another problem arises because of all of the legacy peripheral components that are not designed to transfer data (sometimes bidirectionally) in accord with the USB specification, but which may be otherwise usable with new computers that include a USB port. A user who purchases a new computer that includes a USB port may want to use existing peripheral components previously used with an older non-USB capable computer with the new computer. However, older peripheral do not include a USB engine or USB transceiver that would enable communication with a USB port. To enable this option, a converter to couple the legacy peripheral component to the four-pin USB port of the new computer, and more importantly, to permit the device to communicate with the computer by converting data from the device to the required USB format and converting USB data from the computer to the format required by the device. For example, a printer designed to connect to and communicate with a conventional serial port on a computer would need the converter to convert the RS-232 format data into packetized digital data in the USB format, and any control signal provided to the printer by the computer over the USB port would need to be converted back into the serial data format. Each type of legacy device might require a data interface in the converter that is specific to the type of port to which the peripheral device is normally coupled. Also, it would be desirable to provide a converter that serves to couple a plurality of the same or different types of legacy peripheral devices to the USB port, handling the data flow to and from each device via the USB port as required. Currently, such a converter does not exist.